home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / rothlink.h < prev    next >
Text File  |  1995-08-11  |  4KB  |  142 lines

  1. #ifndef _ROTHLINK_H_INCLUDED
  2. /*
  3.  …ÕÕÕÕÕÕÕÕÕÕÕÕª
  4.  ∫ AUTOHEADER ∫
  5.  ÃÕÕÕÕÕÕÕÕÕÕÕÕ ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕª
  6.  ∫ Filename     ROTHLINK.H       ∫
  7.  «ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ∂
  8.  ∫ Creation     23/11/1994       ∫
  9.  ÃÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕπ
  10.  ∫                               ∫
  11.  ∫ Updated: Sat 12/8/1995 00:32  ∫
  12.  ∫                               ∫
  13.  ∫ Version: 1.097                ∫
  14.  ∫                               ∫
  15.  »ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕº
  16.  this just contains data used by rothlink.asm
  17.  rothrend.h contains rothrend.lib data strucs
  18.  
  19. */
  20.  
  21.  
  22.  
  23. #ifndef ROTHREND_H_INCLUDE
  24. #include "rothrend.h"
  25. #endif
  26.  
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30.  
  31. #pragma PACK (1);
  32. /* structure returned from AddRothObject */
  33.  
  34. typedef struct    _VIEW_Position { // Used by SetYZR,SetR,GetXYZR,AddRothObject
  35.     signed long int XPos;      //   Left <> Right
  36.     signed long int YPos;    //     Up <> Down        (not forw/back)
  37.     signed long int ZPos;    //Forward <> Backward
  38.  unsigned long int Rotation;
  39. } _VIEW_Position;
  40.  
  41. #define _SCM_ModeX       12345
  42. #define _SCM_Text            3
  43. #define _SCM_VGA256        0x13
  44.  
  45. #define _SCF_Interlase    4
  46. #define _SCF_Lores        0
  47.  
  48. #define _REQ_NoTurn        1    //RequestMove
  49. #define _REQ_Turn            0
  50.  
  51.  
  52. typedef struct    _LENS_Position { // Used by SetLens
  53.   unsigned long int XAspect;
  54.   unsigned long int YAspect;
  55.   unsigned long int XCenter;
  56.   unsigned long int YCenter;
  57.   unsigned long int Flags;
  58.   unsigned long int CamDist;
  59. } _LENS_Position;
  60.  
  61. #define _LENF_Normal       0
  62. #define _LENF_Quad      0x03
  63. #define _LENF_Double       0x01
  64. #define _LENF_Tall       0x02
  65. #define _LENF_Blur      0x100 //not imp yet.
  66.  
  67. #define Match_ID 0
  68. #define Match_GFX 0x10000
  69.  
  70. typedef struct    _MovementCTRL { // Used by SetMovement();
  71.   unsigned long int MaxWalkSpeed;
  72.   unsigned long int MaxTurnSpeed;
  73.   unsigned long int InitTurnSpeed;
  74.   // this will get longer...
  75. } _MovementCTRL;
  76.  
  77.  
  78. // many = ( DOT_Info())         // Used by DOT_Info
  79. typedef struct    _DOT_Info {
  80.   unsigned long  int Offset;          
  81.   unsigned short int Rotation;  //0-511
  82.   unsigned short int ID;
  83. } _DOT_Info;
  84.  
  85. //                                  // Used by DrawObject()
  86. typedef struct    _DrawObject {
  87.   unsigned char      ImageNo;          // Id see rothed      
  88.   unsigned char       Dir;            // Direction .. zero normaly
  89.   unsigned char       Flags;          // see below
  90.   unsigned char       Info;              // see below
  91.     signed short int EyeLevel;    // base of image (raise/lower)
  92. } _DrawObject;
  93.  
  94. #define    DOF_Float    0x02        // DrawObject.Info contains hight
  95.  
  96.  
  97.  
  98. // flags for EditSegmnt
  99. #define    ES_RoofHeightSet       0x00000    // 
  100. #define    ES_RoofHeightAdd       0x08000    // 
  101. #define    ES_FloorHeightSet       0x00001    // 
  102. #define    ES_FloorHeightAdd       0x08001    // 
  103. #define    ES_RoofGfxSet          0x00002    // 
  104. #define    ES_FloorGfxSet          0x00003    // 
  105.  
  106. typedef struct    _WALK_Item {
  107.   signed long int x;
  108.   signed long int y;
  109. } _WALK_Item;
  110.  
  111.  
  112. typedef struct    _WALK_List {
  113.   unsigned short int unused;
  114.   unsigned short int many;
  115.                _WALK_Item    adj[12];
  116. } _WALK_List;
  117.  
  118. typedef struct    _Links {         // offset in _LINK_AddressBase
  119.     signed short int X;        // x pos
  120.     signed short int Y;     // y pos
  121.   unsigned short int ID;    // ID of link dot
  122.   unsigned short int Many;  // many connections followed by Many * _LinkItems
  123.   // here are Many * LinkItems
  124. } _Links;
  125.  
  126. typedef struct    _LinkItems {         // Appears after _Links * Many
  127.   unsigned short int Offset;        // OFFSET16 to joining link base=_Link_AddressBase
  128.     signed short int Angle;       // -Angle of line to it
  129. } _LinkItems;
  130.  
  131.  
  132.  
  133.  
  134. #pragma PACK ;
  135.  
  136. #define _ROTHLINK_H_INCLUDED
  137. #ifdef __cplusplus
  138. };
  139. #endif
  140. #endif
  141.  
  142.